
# pytest选项
"""
在pytest中有两种运行方式
    (1) . 在命令行中输入 : pytest + [选项] + 测试用例文件
    (2) . 在代码中使用main方法 ; pytest.main([选项])

pytest的运行选项：
-k : 关键字匹配 ，类名或方法名 ，支持逻辑运算符 。
-v : 输出更加详细的信息
-q : 简化输出信息
-s : 输出测试用例的打印信息
-m : 主要进行用例匹配 ，主要在测试用例前加装饰器@pytest.mark.标记符 ，运行时可以通过参数-m进行匹配 。
--pdb : 设置断点 ，可以输入变量，自动打印该变量 。按q退出。
"""

import pytest

from package_unittest.login import login


# case1 : 输入正确的用户名和正确的密码进行登录
@pytest.mark.p1
def test_login_success():
    print("1")
    expect_result = 0
    actual_result = login('admin','123456').get('code')
    assert expect_result == actual_result

# case2 : 输入正确的用户名和错误的密码进行登录
@pytest.mark.p2
def test_password_is_wrong():
    print("2")
    expect_result = 3
    actual_result = login('admin', '1234567').get('code')
    assert expect_result == actual_result


# case3 : 输入用户名和空的密码进行登录
@pytest.mark.p2
def test_password_is_null():
    print("3")
    expect_result = 2
    actual_result = login('admin', '').get('code')
    assert expect_result == actual_result


if __name__ == '__main__':
    pytest.main(['test03_login_options.py','--runxfail'])